[レポート] S3のセキュリティのベストプラクティスとアクセス制御について学べるワークショップに参加してきた #AWSreInvent
こんにちは、ゲーソルの新屋です。
re:Invent2024のセッションレポートをお届けします。
セッション情報
タイトル
- Configuring Amazon S3 security settings and access controls
セッションタイプ
- Workshop
スピーカー
- Erick Dame, Sr. Solutions Architect, AWS
- Christie Lee, Principal Solutions Architect, Amazon Web Services
セッション概要
Amazon S3 provides security settings and granular access controls to suit virtually any workload. In this workshop, learn how you can manage access and define user and resource-based policies at scale to fit your needs with Amazon S3 access management tools. In addition, learn how you can monitor and audit who is accessing what data, including from where and when. Explore scenarios involving different security requirements, and walk through how you can apply different Amazon S3 tools and capabilities to meet those requirements. You must bring your laptop to participate.
Amazon S3は、ほぼすべてのワークロードに適したセキュリティ設定ときめ細かなアクセス制御を提供します。このワークショップでは、Amazon S3のアクセス管理ツールを使用して、ニーズに合わせてスケーラブルにアクセスを管理し、ユーザーとリソースベースのポリシーを定義する方法を学びます。さらに、いつ、どこから、誰が、どのデータにアクセスしているかを監視・監査する方法を学びます。さまざまなセキュリティ要件を含むシナリオを検討し、これらの要件を満たすためにAmazon S3のさまざまなツールと機能をどのように適用できるかを学びます。参加にはノートパソコンが必要です。
- セキュリティ?バケットポリシーとACLくらいしか知らん
- アクセス制御?ポリシーのConditionに何か書くくらいか…?
この程度の知識しかない私でしたが、オブジェクトの暗号化にSSE-KMSを利用するススメやS3 Access Grantsを利用したアクセス制御など、S3のセキュリティのベストプラクティスについて学ぶことが出来ました。
内容
全体の流れとしてはS3のセキュリティのベストプラクティスについての座学があり、そのあとワークショップがありました。
座学
- 暗号化はAWS Key Management Serviceのキーを使用したサーバー側の暗号化 (SSE-KMS)する
- S3 Same-Region Replication/Cross-Region Replicationを使用してオブジェクトを複製する
- オブジェクト保護のために、S3 Object Lock, S3 Versioning, S3 Multi-Factor Authentication deleteを検討する
- アクセスをシンプルにするために、S3 Access Points, S3 Access Grantsを検討する
- バケットポリシーでVPCエンドポイントによるアクセス制限を有効化する
- バケットポリシーでIAMを利用すると、バケット所有者が使用するACLが無効になる
- パブリックアクセスをブロックする
- AWS Configでセキュリティ設定を監視する
- IAM Access Analyzerで不正アクセスを監視する
- SCPによりバケットポリシーを強制する
- パブリックバケットを識別するために、AWS Control Towerのガードレールを利用する
データアクセスについては、規模によって使い分ける
- S3 Access Grants
- きめ細かい(Fine-Grained)アクセス制御を提供
- OktaやEntraIDなどのディレクトリユーザーのS3の権限管理が可能となる
- Amazon Athena、Amazon EMR, IAM Identity Center, Amazon Redshift, Amazon SageMaker Studio、およびオープンソースのPythonフレームワークと統合する
- リージョンごとに100,000アクセスポイントまで拡張可
- S3 Access Points
- IAMプリンシパルベースのアクセス制御
- アクセスポイントごとのポリシー(20KB)により、共有データへのアクセスを簡素化
- リージョンごとに10,000アクセスポイントまで拡張可
- IAM Policies with S3 bucket policies
- IAMプリンシパルベースのアクセス制御
- 中小規模のデータセットに適している
- IAMポリシーごとの最大IAMポリシーサイズは5KB
- 1バケットあたりの最大S3バケットポリシーサイズは20KB
S3セキュリティの新機能の紹介です。
- GuardDuty Malware Protectionで新しいオブジェクトアップロードでマルウェア検出が可能に
- オブジェクトを作成する前に、オブジェクトの存在チェックができる条件付き書き込みがサポート
- 複数のHTTPステータスコードに対しての課金はしない(例えば、オブジェクトにアクセスしたときに発生する403エラーなど)
- Amazon S3 Express One Zoneは、AWS Key Management Serviceのキーを使用したサーバー側の暗号化をサポートするようになった
ワークショップ
私はラボ1までしか終わらなかったですね。。完走した人はいるのだろうか…
最後に
S3 Access Grantsは去年登場した新しい機能です。皆さんはS3のセキュリティのベストプラクティスについてアップデート出来ていますでしょうか?正直、私は数年前の理解でストップしていました。
これを機会にS3について学び直し、セキュアなアセットメント管理を実装してみたいと思いました。